---
title: Retrieve
summary: Gate screen-data retrieval on a valid claim context before invoking the derived manager's retrieval logic.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim
reference_type: embedded
operation_id: OP-CLM-7
trigger: A caller invokes ClaimAppManager.Retrieve().
---

# Retrieve

This operation is the public entry point derived managers' UI code calls to (re)load screen data, but it never reports success back to the caller.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-CLM-7 |
| **Trigger** | `ClaimAppManager.Retrieve()` call |
| **Inputs** | none |
| **Outputs** | Always `False` |
| **Primary components** | `ClaimAppManager.Retrieve`, `ClaimAppManager.OnValidContext` |
| **Entry point** | `SAIF.Application.Claim/ClaimAppManager.vb` |

## Steps

1. Evaluate `ValidContext`, which calls `OnValidContext()`: `ContextSet` and `SecurityRole <> NoAccess` and `ClaimData.IsValid` ([BR-CLM-019](../business-rules.md#br-clm-019-valid-context-requires-set-allowed-and-valid-claim)).
2. If the context is valid, call `OnRetrieve()` — the derived manager's screen-data retrieval (abstract in this library).
3. `Retrieve()` assigns no return value on any path, so it always returns `False` regardless of outcome ([BR-CLM-020](../business-rules.md#br-clm-020-retrieve-never-reports-success)).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([Retrieve called]) --> Valid{ValidContext?}
	Valid -->|Yes| OnRetrieve["OnRetrieve: derived screen<br>load"]
	Valid -->|No| Skip[Skip retrieval]
	OnRetrieve --> ReturnFalse([Return False])
	Skip --> ReturnFalse
```

## Failure and edge-case behavior

- Callers cannot use the `Boolean` return value to detect success; they must instead judge success from `Message`, `ValidContext`, or manager state.*

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Application.Claim/ClaimAppManager.vb`
